package model

// BaseInfo 主机基础信息
type BaseInfo struct {
	HostName       string
	IP             string
	MAC            string
	Domain         string // eg:WORKGROUP, 域
	PartOfDomain   bool   // eg:false, 计算机是否入域
	SystemType     string // eg；x64-based PC ，系统类型
	BuildNumber    string // eg : 19043 .操作系统的构建号,它比产品发布版本号更精确的版本信息。
	OSArchitecture string // eg: 64位 ，操作系统位数
	Version        string // eg:10.0.19043 ,系统版本号
	SerialNumber   string // eg:00330-80191-48344-AA161, 操作系统产品序列号。
	RdpPort        uint
	CPUInfo        string
	MemoryInfo     []MemoryBaseInfo
	LogicDiskInfo  []LogicDiskInfo
}

// LogicDiskInfo 逻辑卷信息
type LogicDiskInfo struct {
	DeviceID   string
	FileSystem string
	DriveType  uint32 // eg:3 , 磁盘类型，0-未知；1-No Root Directory；2-移动磁盘；3-本地磁盘；4-网络驱动器；5-光盘；6-RAM盘
	Size       string // eg:255369482240 ,总空间
	FreeSpace  uint64 // eg:88191721472,空闲空间
}
type MemoryBaseInfo struct {
	Capacity uint64 // eg:8589934592 ，获取内存容量, / 1024*1024*1024 才能换算成GB
	Speed    uint32 // eg：2667，速率 内存频率 单位MHz
}

// LogoffSession 注销会话时的往返消息
type LogoffSession struct {
	HostSessionId int64 `json:"hostSessionId"`
	WinSessionId  int64 `json:"winSessionId"`
	Result        int   `json:"result"` // 1- 未处理；2-成功；3-失败；
}
